/*YCPPm+pGs1WlS1AZQom7s9tY4r08wqtM0AXOxGrpzhLgtndoKmHGIP93tUbtB5V5*/
/*
 * @Author: llixxm
 * @Date: 2020-09-14 09:23:50
 * @Description: 账表右键菜单
 */
/**
 * @description: 账表联查事件
 * @param {type} 
 * @return {type} 
 */
const getLinkBtn = (json, linkfrom) => {
    let LINKBTN = {
        accbalance: { //科目余额表: 明细/总账/辅助 
            link: [{name: json['publiccommon-000012'], key: 'link:detailbook'}, {name: json['publiccommon-000013'], key: 'link:accbook'}, {name: json['publiccommon-000014'], key: 'link:assbal'}] 
        },
        threeall: { //三栏式总账
            link: [{name: json['publiccommon-000015'], key: 'link:linkdetail'}] /* 国际化处理： 联查明细*/
        },
        threedetail: { //三栏式明细账
            link: [{name: json['publiccommon-000016'], key: 'link:linkvoucher'}] /* 国际化处理： 联查凭证*/
        }
    }  
    return LINKBTN[linkfrom]; 
}

/**
 * @description: 右键菜单key转换为标题区按钮事件key
 * @param {type} //key: 右键菜单key
 * @return {type} 点击事件所需要的key
 */
function getMenuKey(key){
    return key.indexOf(':') != -1 ? key.split(':').slice(-1).toString() : key;
}

/**
 * @description: 右键菜单面板
 * @param {type} 
 * @return {type} 
 */
let contextMenu = (page, params) => {
    let { json } = page.state;
    const ret = {
        items: {
            lockCancel: {
                name: json['publiccommon-000006'], /* 国际化处理： 取消冻结*/
                key: 'lockCancel',
                disabled: false, //可用性
                hidden: false, //可显示性
                callback: (key, selection) => {
                    //回调
                    page.handleLoginBtn(null, key)
                }
            },
            lock: {
                name: json['publiccommon-000007'], //lock /* 国际化处理： 冻结*/
                disabled: false, //可用性
                submenu: {
                    items: [
                        {
                            name: json['publiccommon-000008'], /* 国际化处理： 冻结行*/
                            key: 'lock:lockRow', //`submenu:lockRow`
                            callback(key, selection) {
                                page.handleLoginBtn(null, getMenuKey(key));
                            }
                        },
                        {
                            name: json['publiccommon-000009'], /* 国际化处理： 冻结列*/
                            key: 'lock:lockColumn',
                            callback: (key, selection) => {
                                page.handleLoginBtn(null, getMenuKey(key));
                            }
                        },
                        {
                            name: json['publiccommon-000010'], /* 国际化处理： 冻结行列*/
                            key: 'lock:lockRowColumn',
                            callback: (key, selection) => {
                                page.handleLoginBtn(null, getMenuKey(key));
                            }
                        }
                    ]
                }
            }
        }
    };
    //不同账表需要的联查事件不同,根据节点来源区分处理
    if(params && params.linkfrom){ 
        let menuItem = getLinkBtn(json, params.linkfrom).link;
        menuItem.map((item)=>{
            item.callback = (key, selection) => {
                page.handleLoginBtn(null, getMenuKey(key));
            }
        })
        ret.items.link = {
            name: json['publiccommon-000011'], //link /* 国际化处理： 联查*/
            submenu: {
                items: menuItem
            }
        }
    }
    return ret;
};

export { contextMenu }
/*YCPPm+pGs1WlS1AZQom7s9tY4r08wqtM0AXOxGrpzhLgtndoKmHGIP93tUbtB5V5*/